<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Contrato_frm( $this );

	class Contrato_frm extends Frm
	{
	function Contrato_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncContrato']				= new Input( "Codigo", "ncContrato", '', false, true );
			$this->aFields['ncPersona']				= new InputLookUp ( "Persona",  "ncPersona" );
			$this->aFields['ncTipoContrato']		= new InputList ( "Tipo", "ncTipoContrato" );
			$this->aFields['dInicio']					= new InputDate( "Inicio", "dInicio" );
			$this->aFields['dFin']						= new InputDate( "Fin", "dFin" );
			$this->aFields['fiTotal']						= new InputNumber( "Total", "fiTotal" );
			$this->aFields['bVigente']				= new InputList( "Vigente", "bVigente" );
			$this->aFields['cActividad']				= new InputText( "Actividad", "cActividad" );
			$this->aFields['ncExpediente']			= new InputLookUp( "Expediente", "ncExpediente" );
			$this->aFields['ncResolucion']			= new InputLookUp( "Resolucion", "ncResolucion" );
		}

	function setValue( $ncContrato )
		{
			$cSql = "SELECT ncTipoContrato, ncPersona, dInicio, dFin, fiTotal, cActividad, ncExpediente, ncResolucion
								FROM atContrato
								WHERE ncContrato = $ncContrato";
			$aDatos = $this->oDatabase->getArray($cSql);
			foreach( $aDatos as $cKey => $cValue   )
			{
				if ( is_string( $cKey ) )
				{
					$this->aFields[$cKey]->setValue( $cValue );
				}
			}
		}
	function initializeForm()
		{
			// Si Recibe la Pk => busca los datos
				if ( $this->isRetrievable() && $this->aFields['ncContrato']->getValue() )
				{
					$this->setValue( $this->aFields['ncContrato']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel ( "Contrato");
			return true;
		}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
				case 'bVigente':
					$oField->setBool();
				break;
				case 'ncPersona':
					$oField->setForm( $this );
					initializePersonal( $oField );
				break;
				case 'ncTipoContrato':
					$cSql = "SELECT ncTipoContrato, cdTipoContrato FROM acTipoContrato";
					$oField->setMatrix( $this->oDatabase->getMatrix ( $cSql ) );
				break;
				case 'fiTotal':
					$oField->setLength( 6.2 );
				break;
				case 'cActividad':
					$oField->setLength( 120 );
				break;
			}
		}
	}
?>